package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

// Gin获取参数

func main() {

	// Gin 获取Query 参数
	// 测试：http://localhost:8080/?name=hejing&pwd=123455
	/*r := gin.Default()
	r.GET("/", func(context *gin.Context) {
		name := context.Query("name")
		pwd := context.Query("pwd")
		// fmt.Printf("name:%s; pwd:%s", name, pwd)
		context.JSON(http.StatusOK, gin.H{
			"name": name,
			"pwd":  pwd,
		})
	})
	r.Run()*/

	// 获取Form参数
	// 当前端请求的数据通过form表单提交时，例如向/user/reset发送了一个POST请求，获取请求数据方法如下
	/*r := gin.Default()
	r.LoadHTMLFiles("./templates/login.html", "./templates/index.html") // 加载页面
	r.GET("/", func(context *gin.Context) {
		context.HTML(http.StatusOK, "login.html", nil)
	})
	r.POST("/", func(context *gin.Context) {
		username := context.PostForm("username") // 对应h5表单中的name字段
		password := context.PostForm("password")
		context.HTML(http.StatusOK, "index.html", gin.H{
			"name": username,
			"pwd":  password,
		})
	})
	r.Run()*/

	// 获取Path参数
	// 请求的参数通过URL路径传递，例如/user/admin，获取请求URL路径中的参数方法如下
	r := gin.Default()
	r.GET("/user/:username", func(context *gin.Context) {
		username := context.Param("username")
		context.JSON(http.StatusOK, gin.H{
			"username": username,
		})
	})
	r.Run()
}
